package cn.bellychang.bobo.recursive.arraysum;

/**
 * @author ChangLiang
 * @date 2020/9/10
 */
public class Solution2 {

    /**
     * approach2: add sub array + last
     *
     * @param array
     * @return
     */
    public int sumArray(int[] array) {
        return sumArray(array, array.length - 1);
    }

    /**
     * 需要有一个index来标识 last element
     *
     * @param array
     * @param index
     * @return
     */
    private int sumArray(int[] array, int index) {
        // 求解最基本问题
        if (index == -1) {
            return 0;
        }
        // 把原来问题转化为更小的问题
        return sumArray(array, index - 1) + array[index];
    }
}
